#ifndef __XOS_CORE_C_H__
#define __XOS_CORE_C_H__


#include "stdint.h"

typedef struct {
    uint32_t r0;
    uint32_t r1;
    uint32_t r2;
    uint32_t r3;
    uint32_t r4;
    uint32_t r5;
    uint32_t r6;
    uint32_t r7;
    uint32_t r8;
    uint32_t r9;
    uint32_t r10;
    uint32_t r11;
    uint32_t r12;
    uint32_t r13;
    uint32_t r14;
    uint32_t r15;

    // uint32_t ip;
    // uint32_t sp;
    // uint32_t lr;
    // uint32_t pc;
//    uint32_t xpsr;
}xos_core_stk_reg;
extern void xos_core_backup_reg(xos_core_stk_reg *now_stk,xos_core_stk_reg*next_stk);
extern void xos_core_staros(xos_core_stk_reg *stk);
extern void xos_core_star(void);
extern void xos_core_create_task(void*fun,xos_core_stk_reg*stk);
extern void xos_core_switch();
extern uint8_t ii;
extern uint8_t xos_core_star_flag;
#endif

